package com.amsp.oa.oademo.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

@Data
@ApiModel(value = "工作移交单VO", description = "工作移交单数据传输对象")
public class WorkHandoverVO {
    @ApiModelProperty(value = "主键ID")
    private Long id;

    @ApiModelProperty(value = "姓名")
    private String name;

    @ApiModelProperty(value = "工号")
    private String jobNumber;

    @ApiModelProperty(value = "所属部门")
    private String department;

    @ApiModelProperty(value = "职务")
    private String position;

    // 所属部门检查项
    @ApiModelProperty(value = "电脑及电脑配套设备是否完好移交")
    private Boolean computerEquipment;

    @ApiModelProperty(value = "技术资料、文件是否完整移交")
    private Boolean technicalDocuments;

    @ApiModelProperty(value = "工具是否如实交还")
    private Boolean tools;

    @ApiModelProperty(value = "相关帐目是否无误")
    private Boolean accounts;

    @ApiModelProperty(value = "办公文具是否归还")
    private Boolean officeSupplies;

    @ApiModelProperty(value = "工作接替/代理人")
    private String departmentSuccessor;

    @ApiModelProperty(value = "部门经理")
    private String departmentManager;

    // 品质部检查项
    @ApiModelProperty(value = "静电防护用品是否归还")
    private Boolean antiStaticSupplies;

    @ApiModelProperty(value = "品质部其他检查项")
    private String qOther;

    @ApiModelProperty(value = "品质部其他检查项确认")
    private Boolean qOtherCheck;

    @ApiModelProperty(value = "品质部经办人/经理")
    private String qManager;

    // 工程部检查项
    @ApiModelProperty(value = "技术资料文件是否归还")
    private Boolean technicalFiles;

    @ApiModelProperty(value = "工程部经理")
    private String eManager;

    // 物控部检查项
    @ApiModelProperty(value = "是否在仓库借有产品/物料")
    private Boolean productsBorrowed;

    @ApiModelProperty(value = "是否如实归还")
    private Boolean returnedProperly;

    @ApiModelProperty(value = "物控部经理")
    private String mManager;

    // 厂务部检查项
    @ApiModelProperty(value = "相关交办工作是否完成")
    private Boolean fWorkCompleted;

    @ApiModelProperty(value = "厂务部长/总监")
    private String fManager;

    // 总经理办公室检查项
    @ApiModelProperty(value = "相关交办工作是否完成")
    private Boolean gWorkCompleted;

    @ApiModelProperty(value = "总经理")
    private String gManager;

    // 财务管理部检查项
    @ApiModelProperty(value = "是否在财务有未结清帐目")
    private Boolean unsettledAccounts;

    @ApiModelProperty(value = "相关个人借款是否还清")
    private Boolean personalLoans;

    @ApiModelProperty(value = "负责固定资产是否齐全")
    private Boolean fixedAssets;

    @ApiModelProperty(value = "财务管理部经理")
    private String finManager;

    // 企业管理部检查项 - 食堂费用
    @ApiModelProperty(value = "食堂费用月份1")
    private Integer canteenMonth1;

    @ApiModelProperty(value = "食堂费用金额1")
    private BigDecimal canteenAmount1;

    @ApiModelProperty(value = "食堂费用月份2")
    private Integer canteenMonth2;

    @ApiModelProperty(value = "食堂费用金额2")
    private BigDecimal canteenAmount2;

    @ApiModelProperty(value = "食堂费用确认")
    private Boolean canteenCheck;

    @ApiModelProperty(value = "退饭卡经办人")
    private String canteenHandler;

    // 宿舍检查
    @ApiModelProperty(value = "宿舍钥匙退还等基本检查")
    private Boolean dormitoryBasicCheck;

    @ApiModelProperty(value = "宿管办经办人")
    private String dormitoryHandler;

    @ApiModelProperty(value = "房租月份1")
    private Integer rent1Month;

    @ApiModelProperty(value = "房租金额1")
    private BigDecimal rent1Amount;

    @ApiModelProperty(value = "水电费1")
    private String waterElectricity1;

    @ApiModelProperty(value = "维修件数1")
    private Integer repair1Count;

    @ApiModelProperty(value = "工衣金额1")
    private BigDecimal uniform1Amount;

    @ApiModelProperty(value = "房租月份2")
    private Integer rent2Month;

    @ApiModelProperty(value = "房租金额2")
    private BigDecimal rent2Amount;

    @ApiModelProperty(value = "水电费2")
    private String waterElectricity2;

    @ApiModelProperty(value = "维修件数2")
    private Integer repair2Count;

    @ApiModelProperty(value = "工衣金额2")
    private BigDecimal uniform2Amount;

    @ApiModelProperty(value = "宿舍详细费用确认")
    private Boolean dormitoryDetailsCheck;

    // 社保/住房公积金
    @ApiModelProperty(value = "社保月份1")
    private Integer socialMonth1;

    @ApiModelProperty(value = "养老金额1")
    private BigDecimal pension1;

    @ApiModelProperty(value = "医疗金额1")
    private BigDecimal medical1;

    @ApiModelProperty(value = "失业金额1")
    private BigDecimal unemployment1;

    @ApiModelProperty(value = "住房公积金金额1")
    private BigDecimal housingFund1;

    @ApiModelProperty(value = "社保月份2")
    private Integer socialMonth2;

    @ApiModelProperty(value = "养老金额2")
    private BigDecimal pension2;

    @ApiModelProperty(value = "医疗金额2")
    private BigDecimal medical2;

    @ApiModelProperty(value = "失业金额2")
    private BigDecimal unemployment2;

    @ApiModelProperty(value = "住房公积金金额2")
    private BigDecimal housingFund2;

    @ApiModelProperty(value = "社保/住房公积金确认")
    private Boolean socialCheck;

    @ApiModelProperty(value = "退社保/住房公积金经办人")
    private String socialHandler;

    // 培训费用
    @ApiModelProperty(value = "培训费用金额")
    private BigDecimal trainingAmount;

    @ApiModelProperty(value = "培训费用确认")
    private Boolean trainingCheck;

    @ApiModelProperty(value = "培训组经办人")
    private String trainingHandler;

    // 网络费用
    @ApiModelProperty(value = "网络费用金额")
    private BigDecimal networkAmount;

    @ApiModelProperty(value = "网络交接人")
    private String networkHandoverPerson;

    @ApiModelProperty(value = "网络费用确认")
    private Boolean networkCheck;

    @ApiModelProperty(value = "网络组经办人")
    private String networkHandler;

    // 厂牌
    @ApiModelProperty(value = "厂牌是否归还")
    private Boolean factoryBadgeCheck;

    @ApiModelProperty(value = "人资组经办人")
    private String factoryBadgeHandler;

    @ApiModelProperty(value = "状态(pending-待处理, completed-已完成)")
    private String status;

    @ApiModelProperty(value = "创建时间")
    private String createTime;
}